home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Powervisor v1.10b disk1.adf / PVDevelop / include / PV / DebugBase.h < prev    next >
C/C++ Source or Header  |  1991-09-15  |  2KB  |  121 lines

  1. #ifndef PV_DEBUGBASE_H
  2. #define PV_DEBUGBASE_H TRUE
  3. /*
  4. **  $Filename: DebugBase.h $
  5. **  $Release: 1.02 $
  6. **  $Revision: 37.346 $
  7. **  $Date: 15 Sep 91 $
  8. **
  9. **  Structure definitions for Debug Base (see 'TheWizardCorner')
  10. **
  11. **  © 1991 Jorrit Tyberghein, included with PowerVisor
  12. **        All Rights Reserved
  13. */
  14.  
  15. #ifndef PV_PVMEMORY_H
  16. #include "PVMemory.h"
  17. #endif
  18.  
  19. #ifndef EXEC_LISTS_H
  20. #include <exec/lists.h>
  21. #endif
  22.  
  23.  
  24. #define TRACE_NONE    0
  25. #define TRACE_TRACE    1
  26. #define TRACE_EXEC    2
  27.  
  28. #define TRACES_NORMAL    0
  29. #define TRACES_TTRACE    1
  30. #define TRACES_CRASH    2
  31. #define TRACES_BREAK    3
  32. #define TRACES_TBREAK    4
  33. #define TRACES_WAIT    5
  34. #define TRACES_ERROR    6
  35.  
  36. #define TRACET_NORMAL    0
  37. #define TRACET_AFTER    1
  38. #define TRACET_STEP    2
  39. #define TRACET_UNTIL    3
  40. #define TRACET_REG    4
  41. #define TRACET_COND    5
  42. #define TRACET_BRANCH    6
  43. #define TRACET_FORCE    7
  44. #define TRACET_OSCALL    8
  45. #define TRACET_SKIP    9
  46.  
  47.  
  48. struct BreakpointNode
  49.     {
  50.         struct Node node;
  51.         UWORD Number;
  52.         APTR Address;
  53.         UWORD OrigContents;
  54.         UBYTE Type;
  55.         UBYTE pad0;
  56.         ULONG UsageCount;
  57.         ULONG AdditionalArg;
  58.         APTR BreakRout;
  59.         ULONG pad1;
  60.     };
  61.  
  62. struct DebugNode
  63.     {
  64.         struct Node node;
  65.         ULONG MatchWord;    /* 'DBUG' */
  66.         UBYTE Mode;
  67.         UBYTE SMode;
  68.         APTR LoadedSegment;
  69.         APTR ProgramCounter;
  70.         APTR TempRout;
  71.         APTR TraceExceptRout;
  72.         APTR RestoreBreakpoint;
  73.         ULONG AdditionalInfo;
  74.         UBYTE TMode;
  75.         UBYTE pad0;
  76.         UBYTE TDNestCnt;
  77.         UBYTE IDNestCnt;
  78.         UBYTE TaskState;
  79.         UBYTE Dirty;
  80.         ULONG SigWait;
  81.         ULONG CrashNum;
  82.         ULONG AdditionalArg;
  83.         struct Task *DebugTask;
  84.         ULONG TopPC;
  85.         ULONG BottomPC;
  86.         UWORD LastDumpLine;
  87.         UBYTE InstructionBytes[32];
  88.         APTR InitPC;
  89.         APTR OldTrapCode;
  90.         struct PVQuickBlock Symbols;
  91.         struct PVQuickBlock Strings;
  92.         struct List Breakpoints;
  93.         UWORD pad1;
  94.         ULONG pad2;
  95.         UWORD pad3;
  96.         UBYTE pad4;
  97.         UBYTE pad5;
  98.         APTR QuitCode;
  99.         APTR OrigQuitCode;
  100.         ULONG SP;
  101.         ULONG PC;
  102.         UWORD SR;
  103.         ULONG Registers[15];
  104.         UBYTE pad6[16];
  105.     };
  106.  
  107. struct DebugBase
  108.     {
  109.         ULONG FloatingPoint;
  110.         struct List DebugTasks;
  111.         struct DebugNode *CurrentDebug;
  112.         UBYTE pad0[16];
  113.         UBYTE pad1[8];
  114.         UBYTE ShowRegInfo;
  115.         UBYTE GiveDisassembly;
  116.         UWORD NumLinesToDisassemble;
  117.         UWORD PreviousInstruction;
  118.     };
  119.  
  120. #endif
  121.